import AccessEnum from "@/access/accessEnum";

/**
 * 权限判断
 * @param loginUser 当前登录用户
 * @param needAccess 需要访问页面的权限
 * @return boolean 有无权限
 */
const checkAccess = (loginUser: any, needAccess = AccessEnum.NOT_LOGIN) => {
  //获取当前登录用户具有的权限（如果没有1oginUser,则表示未登录）
  const loginUserAccess = loginUser?.userRole ?? AccessEnum.NOT_LOGIN;
  // 如果访问的页面不需要用户登录，则直接放行
  if(needAccess === AccessEnum.NOT_LOGIN) {
    return true;
  }

  //如果需要访问用户需要登录的页面；
  if(needAccess === AccessEnum.USER) {
    // 判断当前用户是否登录
    if(loginUserAccess === AccessEnum.NOT_LOGIN) {
      return false;
    }
  }
  // 如果要访问需要管理员权限的页面
  if(needAccess === AccessEnum.ADMIN) {
    if(loginUserAccess !== AccessEnum.ADMIN) {
      return false;
    }
  }
  return true;
}

export default checkAccess();
